package com.zmn.uac.common.info.bytebeat;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 类描述：字节跳动小程序 code session信息
 *
 * @author xujie
 * @since 2021/06/14 9:20
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ByteBeatMinProgramSessionInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 会话密钥，如果请求时有 code 参数才会返回
     */
    @JSONField(name = "session_key")
    private String sessionKey;

    /**
     * 用户在当前小程序的 ID，如果请求时有 code 参数才会返回
     */
    private String openId;

    /**
     * 匿名用户在当前小程序的 ID，如果请求时有 anonymous_code 参数才会返回
     */
    @JSONField(name = "anonymous_openid")
    private String anonymousOpenid;

    /**
     * 用户在小程序平台的唯一标识符，请求时有 code 参数才会返回。如果开发者拥有多个小程序，可通过 unionid 来区分用户的唯一性。
     */
    @JSONField(name = "unionid")
    private String unionId;

    /**
     * 错误号：0成功，非0失败
     */
    private Integer error;
}
